1. Field of the Invention
The present invention relates to the field of the pre-boot execution environment (PXE), and more particularly to multi-PXE server environments.
2. Description of the Related Art
Traditional computing networks have evolved from the terminal based mainframe and minicomputer environment, to client-server networks and local area network deployments where one or more rich clients maintained a network connection to one or more network servers—generally a file server. With the advent of cost-effective broadband communications, wide-area networks and interlinked local area networks forming the backbone of the enterprise have enabled massive computing deployments across a geographically diverse landscape. Of course, maintaining the configuration of different rich clients in the modern enterprise has become so complex as to have necessitated entire departments of IT managers.
PXE is a technology intended to simplify the management of client computing devices in the enterprise. PXE refers to the on-demand distribution of a boot environment to entire farms of client computing devices. Intended to facilitate the management of a multiplicity of client endpoints in a dynamic information technology (IT) setting, PXE delivers a maintenance friendly circumstance for IT managers overseeing hundreds and thousands of client computing platforms. In consequence of PXE, a uniform boot environment can be applied simultaneously to scores of enabled client endpoints without requiring the physical configuration of each endpoint by human personnel.
Generally, in a PXE configuration, as a client computer powers up, the client computer seeks an Internet protocol (IP) address from a dynamic host configuration protocol (DHCP) server enabled to dynamically assign IP addresses to requesting endpoints through the DHCP. The request forwarded by the endpoint can include a PXE specific request for PXE processing. When receiving a PXE specified DHCP request from an endpoint, the DHCP server not only can assign an IP address to the endpoint, but also the DHCP server, acting as a PXE server, or a PXE server acting as a proxy DHCP server, can forward an address from which the endpoint, acting as a PXE client, can obtain suitable bootstrap logic for a customized boot environment. Thereafter, the PXE client can locate, obtain and execute the bootstrap logic as referenced the PXE server.
Importantly, in more complex configurations, it can be desirable to field different boot environments for different groupings of PXE clients. To achieve selective PXE processing of PXE requests, however, requires restraint on behalf of the different PXE servers to respond only to assigned PXE clients. At present, however, upon receiving a DHCP request from a PXE client, the PXE server will respond without regard to the identity of the PXE client.
To truly achieve selected PXE processing of a PXE client, each PXE server can be bound to an assigned PXE client by way of a media access control (MAC) address of the PXE client. Maintaining MAC addresses for every endpoint in a network, though, can be tedious and error prone. Though sub-net filtering selective PXE processing according to subnet addresses would be desirable, to do so requires knowledge of the IP address of each client, which is not possible prior to DHCP processing. Of course, upon completion of DHCP processing, only the first responding PXE server will be recognized by the PXE client and all other PXE servers will be ignored. This could be the “wrong” PXE server not intended by the user.